package com.sgcc.pda.bluetooth.api;

import android.content.Context;

/**
 * 描 述：蓝牙管理接口类
 * 作 者：yangzhi
 * 时 间：2020/3/13 13:52
 * 版 本：1.0
 * 版 权： Copyright (c) remarkables-united.Co.Ltd. All rights reserved.
 */
public interface IBlueManagerInterface {

    /**
     * 配置蓝牙
     *
     * @param context      上下文
     * @param blueType     蓝牙类型 1 经典蓝牙, 2 ble低功耗蓝牙
     * @param isAutoReConn 是否自动重连，在蓝牙断开后自动连接上次连接的蓝牙
     */
    void config(Context context, int blueType, boolean isAutoReConn, int reConnCount);

    /**
     * 展示蓝牙列表页面
     *
     * @param activity 上下文
     */
    void showBluetoothView(Context activity);

    /**
     * 发送数据
     *
     * @param context  上下文
     * @param data     发送都数据
     * @param callBack 发送数据回调 只有接收结果返回
     */
    void sendData(Context context, String data, IReceiveCallBack callBack);

    /**
     * 返回最近连接的蓝牙对象
     *
     * @param activity 上下文
     * @return 蓝牙对象:类型、名称、地址、连接状态
     */
    BlueDeviceEntity getBlueDeviceEntity(Context activity);

    /**
     * 已连接蓝牙状态监听
     * 通过监听蓝牙广播状态实现
     *
     * @param activity               上下文
     * @param blueConnStatusListener 已连接、已断开
     */
    void setOnBlueConnStatusListener(Context activity, IBlueConnStatusListener blueConnStatusListener);

}
